package com.lgkj.view;

import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.PopupWindow;

import com.lgkj.R;

/**
 * Created by Administrator on 2018/6/27 0027.
 */

public class SelectPicPopupWindow extends PopupWindow {


    private Button btn_take_photo, btn_pick_photo, btn_cancel;
    private View mMenuView;

    public SelectPicPopupWindow(Activity context, OnClickListener itemsOnClick) {
        super(context);
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        mMenuView = inflater.inflate(R.layout.alert_dialog, null);
        btn_take_photo = mMenuView.findViewById(R.id.btn_take_photo);
        btn_pick_photo = mMenuView.findViewById(R.id.btn_pick_photo);
        btn_cancel = mMenuView.findViewById(R.id.btn_cancel);
        //取消按钮
        btn_cancel.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                //销毁弹出框
                dismiss();
            }
        });
        //设置按钮监听
        btn_pick_photo.setOnClickListener(itemsOnClick);
        btn_take_photo.setOnClickListener(itemsOnClick);
        //设置SelectPicPopupWindow的View
        this.setContentView(mMenuView);
        //设置SelectPicPopupWindow弹出窗体的宽
        this.setWidth(LayoutParams.FILL_PARENT);
        //设置SelectPicPopupWindow弹出窗体的高
        this.setHeight(LayoutParams.FILL_PARENT);
        //设置SelectPicPopupWindow弹出窗体可点击
        this.setFocusable(true);
        //设置SelectPicPopupWindow弹出窗体动画效果
        this.setAnimationStyle(R.style.mystyle);
        //实例化一个ColorDrawable颜色为半透明
        ColorDrawable dw = new ColorDrawable(0xb0000000);
        //设置SelectPicPopupWindow弹出窗体的背景
        this.setBackgroundDrawable(dw);
        this.getBackground().setAlpha(80);
        //mMenuView添加OnTouchListener监听判断获取触屏位置如果在选择框外面则销毁弹出框
//        mMenuView.setOnTouchListener(new OnTouchListener() {
//
//            public boolean onTouch(View v, MotionEvent event) {
//
//                int height = mMenuView.findViewById(R.id.pop_layout).getTop();
//                int y = (int) event.getY();
//                if (event.getAction() == MotionEvent.ACTION_UP) {
//                    if (y < height) {
//                        dismiss();
//                    }
//                }
//                return true;
//            }
//        });
    }

    /**
     * 设置标题
     *
     * @param take
     * @param pick
     * @param cancel
     */
    public void setText(String take, String pick, String cancel) {
        if (btn_take_photo != null) {
            btn_take_photo.setText(take);
        }
        if (btn_pick_photo != null) {
            btn_pick_photo.setText(pick);
        }
        if (btn_cancel != null) {
            btn_cancel.setText(cancel);
        }

    }

    public void sethideTake() {
        if (btn_take_photo != null) {
            btn_take_photo.setVisibility(View.GONE);
        }
    }

    public void sethidePick() {
        if (btn_pick_photo != null) {
            btn_pick_photo.setVisibility(View.GONE);
        }
    }

    public void sethideCall() {
        if (btn_cancel != null) {
            btn_cancel.setVisibility(View.GONE);
        }
    }

}
